const express = require('express');
const cinemaModel = require('../model/cinema')
const multer = require('multer');
const path = require('path')
const fs = require('fs')
const router = express.Router();

// 图片的配置参数
const diskStorage = multer.diskStorage({
    destination:(req,file,cb)=>{
        const dir = path.join(__dirname,'../upload');
        // 判断这个文件是否存在
        // 第一种写法
        try {
            // 存在
            fs.accessSync(dir)
        } catch(err){
            // 如果不存在会有异常
            fs.mkdir(dir)
        }

        // 第二种方案
        // fs.access(dir,(err)=>{
        //     if(err) {
        //         fs.mkdir(dir)
        //     } 
        // })

        cb(null, dir)
    },
    filename:(req,file,cb)=>{
        // ok.png - > .png
        cb(null, Date.now() + path.extname(file.originalname))
    }
})
const upload = multer({storage:diskStorage});

// 添加   图片 - formData数据类型
router.post('/add', upload.single('img_src'), async (req,res)=>{
    const {name,address,phone,movies} = req.body;
    console.log(req.file.filename,'图片地址');
    
    const fileName = req.file.filename;
   let resData = await cinemaModel.create({name,address,phone,movies,img_src:fileName})
   
    if(resData){
        res.send({
            msg:'新增成功',
            code:1
        })
    } else {
        res.send({
            msg:'新增失败',
            code:0
        })
    }
})
// 修改
router.post('/addMovie',async (req,res)=>{
    const {cid,movies} = req.body;
    let datas = await cinemaModel.findOneAndUpdate({_id:cid},{
        movies:movies
    })
    res.send({
        msg:'请求成功',
        data:datas,
        code:1
    })
})


// 删除

// 删除所有
router.get('/all',async (req,res)=>{
    let datas = await cinemaModel.find();
    res.send({
        msg:'请求成功',
        data:datas,
        code:1
    })

})

module.exports = router;